home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1992-02-26 | 1.7 KB | 77 lines |
- '
- ' "COLOUR DETECT EXAMPLE"
- ' By Andrew Campbell
- '
- ' Joystick LEFT/RIGHT to turn.
- ' Joystick UP to move.
- '
- ' Cheers.
- '
- '
- Screen Open 1,320,200,16,Lowres
- Flash Off : Curs Off : Hide On
- Get Sprite Palette
- Colour 1,$0 : Colour 10,$F
-
- DR=1 : OK=0
- For I=1 To 8 : Hot Spot I,8,8 : Next I
- Ink 10 : Polygon 20,50 To 250,100 To 200,100
- Polygon 90,100 To 200,160 To 10,150
- For I=1 To 10 : Box I,I To 319-I,199-I : Next I
-
-
- LOOOPER:
-
- XP=50 : YP=50-4
- Bob 1,XP,YP,DR : Wait Vbl
-
- MAIN_LOOP:
-
- Repeat
- FT=1
- If Jright(1) Then Wait 3 : Inc DR : Gosub DR_CHECK : Bob 1,XP,YP,DR
- If Jleft(1) Then Wait 3 : Dec DR : Gosub DR_CHECK : Bob 1,XP,YP,DR
- If Jup(1) Then Gosub MOVE_IT
- Until WIN=1
-
- DR_CHECK:
- If DR<1 Then DR=8
- If DR>8 Then DR=1
- Return
-
- MOVE_IT:
- OK=0
- If DR=1 Then Repeat : Dec XP : Gosub G_C : Until OK=1
- If DR=2 Then Repeat : Dec XP : Dec YP : Gosub G_C : Until OK=1
- If DR=3 Then Repeat : Dec YP : Gosub G_C : Until OK=1
- If DR=4 Then Repeat : Inc XP : Dec YP : Gosub G_C : Until OK=1
- If DR=5 Then Repeat : Inc XP : Gosub G_C : Until OK=1
- If DR=6 Then Repeat : Inc XP : Inc YP : Gosub G_C : Until OK=1
- If DR=7 Then Repeat : Inc YP : Gosub G_C : Until OK=1
- If DR=8 Then Repeat : Dec XP : Inc YP : Gosub G_C : Until OK=1
-
- G_C:
- C=Point(XP-6,YP)
- D=Point(XP+5,YP)
- E=Point(XP,YP-6)
- F=Point(XP,YP+4)
-
- If FT=1
- If C=10 or D=10 or E=10 or F=10 : Gosub CORRECTION : End If
- FT=0
- End If
-
- If Jleft(1)<>-1 or Jright(1)<>-1 Then OK=1
- If C=10 or D=10 or E=10 or F=10 Then OK=1
-
- Bob 1,XP,YP,DR
- If XP<0 or XP>319 or YP<0 or YP>199 Then Boom : Goto LOOOPER
- Return
-
- CORRECTION:
- If DR=1 or DR=2 or DR=8 Then Inc XP
- If DR=2 or DR=3 or DR=4 Then Inc YP
- If DR=6 or DR=7 or DR=8 Then Dec YP
- If DR=4 or DR=5 or DR=6 Then Dec XP
- FT=0 : Pop : Pop : Pop
- Goto MAIN_LOOP